#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//bool IsLetter(char ch)
//{
//    if (ch >= 'a' && ch <= 'z')
//    {
//        return true;
//    }
//    else if (ch >= 'A' && ch <= 'Z')
//    {
//        return true;
//    }
//    else return false;
//}
//
//class Solution {
//public:
//    string reverseOnlyLetters(string s) {
//        int left = 0, right = s.size() - 1;
//        while (left < right)
//        {
//            while (!IsLetter(s[left]) && left < right)
//            {
//                left++;
//            }
//            while (!IsLetter(s[right]) && left < right)
//            {
//                right--;
//            }
//            swap(s[left++], s[right--]);
//        }
//        return s;
//    }
//
//    string str;
//};
//
//int main()
//{
//    Solution s1;
//    cin >> s1.str;
//    s1.str = s1.reverseOnlyLetters(s1.str);
//    cout << s1.str << endl;
//    return 0;
//}

class Solution {
public:
    int firstUniqChar(string s) {
        int count[26] = {0};
        int size = s.size();
        for (size_t i = 0; i < size; i++)
        {
            count[s[i] - 'a']++;
        }
        for (size_t i = 0; i < size; i++)
        {
            if (count[s[i] - 'a'] == 1)
            {
                return i;
            }

        }
        return -1;

    }

    string str;
};

int main()
{
    Solution s1;
    cin >> s1.str;
    cout << s1.firstUniqChar(s1.str) << endl;
    return 0;
}